package com.burst.reptile.framework.web.page;

import com.burst.reptile.common.utils.ServletUtils;

import cn.hutool.core.util.StrUtil;

/**
 * 分页数据
 * @author wujin
 * @date: 2020年5月24日 上午11:19:52
 */
public class TableSupport {
	
	/**
	 * 当前记录起始索引
	 */
	public static final String PAGE_NUM = "page";

	/**
	 * 每页显示记录数
	 */
	public static final String PAGE_SIZE = "limit";

	/**
	 * 排序列
	 */
	public static final String ORDER_BY_COLUMN = "orderByColumn";

	/**
	 * 排序的方向 "desc" 或者 "asc".
	 */
	public static final String IS_ASC = "isAsc";

	/**
	 * 封装分页对象
	 */
	public static PageDomain getPageDomain() {
		return PageDomain.builder()
			.pageNum(ServletUtils.getParameterToInt(PAGE_NUM))
			.pageSize(ServletUtils.getParameterToInt(PAGE_SIZE))
			.orderByColumn(ServletUtils.getParameter(ORDER_BY_COLUMN))
			.isAsc(StrUtil.equalsAnyIgnoreCase("asc", ServletUtils.getParameter(IS_ASC)))
			.build();
	}

	public static PageDomain buildPageRequest() {
		return getPageDomain();
	}
}
